package resolver

// This file will be automatically regenerated based on the schema, any resolver implementations
// will be copied through when generating and any unknown code will be moved to the end.

import (
	"context"
	"fmt"

	"mall/service/wpgql/api/internal/graph/generated"
	"mall/service/wpgql/api/internal/graph/model"
)

func (r *commentAuthorResolver) Avatar(ctx context.Context, obj *model.CommentAuthor, size *int, forceDefault *bool, rating *model.AvatarRatingEnum) (*model.Avatar, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *mutationResolver) CreateUser(ctx context.Context, input model.CreateUserInput) (*model.CreateUserPayload, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *mutationResolver) DeleteUser(ctx context.Context, input model.DeleteUserInput) (*model.DeleteUserPayload, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *mutationResolver) RegisterUser(ctx context.Context, input model.RegisterUserInput) (*model.RegisterUserPayload, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *mutationResolver) ResetUserPassword(ctx context.Context, input model.ResetUserPasswordInput) (*model.ResetUserPasswordPayload, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *mutationResolver) SendPasswordResetEmail(ctx context.Context, input model.SendPasswordResetEmailInput) (*model.SendPasswordResetEmailPayload, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *mutationResolver) UpdateUser(ctx context.Context, input model.UpdateUserInput) (*model.UpdateUserPayload, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *queryResolver) User(ctx context.Context, id string, idType *model.UserNodeIDTypeEnum) (*model.User, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *queryResolver) Users(ctx context.Context, first *int, last *int, after *string, before *string, where *model.RootQueryToUserConnectionWhereArgs) (*model.RootQueryToUserConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *queryResolver) Viewer(ctx context.Context) (*model.User, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) Avatar(
	ctx context.Context,
	obj *model.User,
	size *int,
	forceDefault *bool,
	rating *model.AvatarRatingEnum,
) (*model.Avatar, error) {
	var avatar *model.Avatar
	if obj != nil {
		if obj.Avatar != nil {
			avatar = obj.Avatar
		}
	}

	return avatar, nil
}

func (r *userResolver) Comments(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string, where *model.UserToCommentConnectionWhereArgs) (*model.UserToCommentConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) EnqueuedScripts(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string) (*model.UserToEnqueuedScriptConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) EnqueuedStylesheets(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string) (*model.UserToEnqueuedStylesheetConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) MediaItems(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string, where *model.UserToMediaItemConnectionWhereArgs) (*model.UserToMediaItemConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) Pages(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string, where *model.UserToPageConnectionWhereArgs) (*model.UserToPageConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) Posts(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string, where *model.UserToPostConnectionWhereArgs) (*model.UserToPostConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) Revisions(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string, where *model.UserToContentRevisionUnionConnectionWhereArgs) (*model.UserToContentRevisionUnionConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

func (r *userResolver) Roles(ctx context.Context, obj *model.User, first *int, last *int, after *string, before *string) (*model.UserToUserRoleConnection, error) {
	panic(fmt.Errorf("not implemented"))
}

// CommentAuthor returns generated.CommentAuthorResolver implementation.
func (r *Resolver) CommentAuthor() generated.CommentAuthorResolver { return &commentAuthorResolver{r} }

// User returns generated.UserResolver implementation.
func (r *Resolver) User() generated.UserResolver { return &userResolver{r} }

type commentAuthorResolver struct{ *Resolver }
type userResolver struct{ *Resolver }
